// /**
//  * Copyright © 2013-2017 Magento, Inc. All rights reserved.
//  * See COPYING.txt for license details.
//  */

//
//  Reset, based on normalize.css v3.0.2 | MIT License | git.io/normalize
//  _____________________________________________

html {
    box-sizing: border-box;
    //  Prevent iOS text size adjust after orientation change, without disabling user zoom.
    -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
}

* {
    box-sizing: inherit;
    &:before,
    &:after {
        box-sizing: inherit;
    }
    &:focus {
        box-shadow: none;
        outline: 0;
    }
}

//  Keyboard actions detection helper
._keyfocus * {
    &:focus {
        box-shadow: @focus__box-shadow;
    }
}

//  Remove default margin.
body {
    margin: 0;
}

//
//  HTML5 display definitions
//  ---------------------------------------------

//  Correct 'block' display not defined for any HTML5 element in IE 8/9.
//  Correct 'block' display not defined for 'details' or 'summary' in IE 10/11 and Firefox.
//  Correct 'block' display not defined for 'main' in IE 11.
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block;
}

audio,
canvas,
progress,
video {
    display: inline-block; // Correct 'inline-block' display not defined in IE 8/9.
    vertical-align: baseline; // Normalize vertical alignment of 'progress' in Chrome, Firefox, and Opera.
}

audio:not([controls]) {
    display: none; // Prevent modern browsers from displaying 'audio' without controls.
    height: 0; // Remove excess height in iOS 5 devices.
}

//  Address '[hidden]' styling not present in IE 8/9/10.
//  Hide the 'template' element in IE 8/9/11, Safari, and Firefox < 22.
[hidden],
template {
    display: none;
}

//
//  Links
//  ---------------------------------------------

a {
    background-color: transparent; // Remove the gray background color from active links in IE 10.
    //  Improve readability when focused and also mouse hovered in all browsers.
    &:active,
    &:hover {
        outline: 0;
    }
}

//  Text-level semantics
//  ---------------------------------------------

//  Address styling not present in IE 8/9/10/11, Safari, and Chrome.
abbr {
    &[title] {
        border-bottom: 1px dotted;
    }
}

//  Address style set to 'bolder' in Firefox 4+, Safari, and Chrome.
b,
strong {
    font-weight: bold;
}

//  Address styling not present in Safari and Chrome.
dfn {
    font-style: italic;
}

//  Address styling not present in IE 8/9.
mark {
    background: #ff0;
    color: #000;
}

//  Prevent 'sub' and 'sup' affecting 'line-height' in all browsers.
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

//
//  Embedded content
//  ---------------------------------------------

//  Remove border when inside 'a' element in IE 8/9/10.
img {
    border: 0;
}

//  Responsive width
img,
video,
embed,
object {
    max-width: 100%;
}

//  Correct overflow not hidden in IE 9/10/11.
svg {
    &:not(:root) {
        overflow: hidden;
    }
}

//
//  Grouping content
//  ---------------------------------------------

//  Address margin not present in IE 8/9 and Safari.
figure {
    margin: 1em 40px;
}

//  Address differences between Firefox and other browsers.
hr {
    -moz-box-sizing: content-box;
         box-sizing: content-box;
    height: 0;
}

//  Contain overflow in all browsers.
pre {
    overflow: auto;
}

//  Address odd 'em'-unit font size rendering in all browsers.
code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

//
//  Forms
//  ---------------------------------------------

//  Known limitation: by default, Chrome and Safari on OS X allow very limited styling of 'select', unless a 'border' property is set.
button,
input,
optgroup,
select,
textarea {
    color: inherit; // Correct color not being inherited. Known issue: affects color of disabled elements.
    font: inherit; // Correct font properties not being inherited.
    margin: 0; // Address margins set differently in Firefox 4+, Safari, and Chrome.
}

//  Address 'overflow' set to 'hidden' in IE 8/9/10/11.
button {
    overflow: visible;
}

//  Address inconsistent 'text-transform' inheritance for 'button' and 'select'.
//  All other form control elements do not inherit 'text-transform' values.
//  Correct 'button' style inheritance in Firefox, IE 8/9/10/11, and Opera.
//  Correct 'select' style inheritance in Firefox.
button,
select {
    text-transform: none;
}

//  Avoid the WebKit bug in Android 4.0.* where (2) destroys native 'audio' and 'video' controls.
//  Correct inability to style clickable 'input' types in iOS.
//  Improve usability and consistency of cursor style between image-type 'input' and others.
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

//  Re-set default cursor for disabled elements.
button[disabled],
html input[disabled] {
    cursor: default;
}

//  Remove inner padding and border in Firefox 4+.
button,
input {
    &::-moz-focus-inner {
        border: 0;
        padding: 0;
    }
}

//  Address Firefox 4+ setting 'line-height' on 'input' using '!important' in the UA stylesheet.
input {
    line-height: normal;
}

//  Firefox's implementation doesn't respect box-sizing, padding, or width.
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; // Address box sizing set to 'content-box' in IE 8/9/10.
    padding: 0; // Remove excess padding in IE 8/9/10.
}

//  Fix the cursor style for Chrome's increment/decrement buttons. For certain 'font-size' values of the 'input', it causes the cursor style of the decrement button to change from 'default' to 'text'.
input[type="number"] {
    &::-webkit-inner-spin-button,
    &::-webkit-outer-spin-button {
        height: auto;
    }
}

//  Address 'appearance' set to 'searchfield' in Safari and Chrome.
input[type="search"] {
    -webkit-appearance: textfield;
}

//  Remove inner padding and search cancel button in Safari and Chrome on OS X.
//  Safari (but not Chrome) clips the cancel button when the search input has padding (and 'textfield' appearance).
input[type="search"] {
    &::-webkit-search-cancel-button,
    &::-webkit-search-decoration {
        -webkit-appearance: none;
    }
}

//  Correct 'color' not being inherited in IE 8/9/10/11.
//  Remove padding so people aren't caught out if they zero out fieldsets.
legend {
    border: 0;
    padding: 0;
}

//  Remove default vertical scrollbar in IE 8/9/10/11.
textarea {
    overflow: auto;
}

//  Don't inherit the 'font-weight' (applied by a rule above).
//  NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
optgroup {
    font-weight: bold;
}

//
//  Tables
//  ---------------------------------------------

//  Remove most spacing between table cells.
table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}

//  ToDo UI: experimantal, need to test on webkit
//.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {
//    html {
//        margin-left: ~'calc(100vw - 100%)';
//        margin-right: 0;
//        overflow: auto;
//    }
//}
